Now that you know how to manipulate views, you are ready to start manipulating the objects shown in those views. For each 3D object, you have control over its location, dimensions, clipping, and orientation. Object appearance can also be modified by changing color or applying textures. Also, objects can be made to appear dull, glinty, mirrored, or prismatic by modifying the way in which light interacts with them. With a bit of practice, these features will allow you to render images which exhibit a variety of very realistic visual effects.
Creating/Deleting Objects
Objects can be created either from scratch or from objects which already exist. Objects are created from scratch using the menu items "Design -> New Positive Object-> [object type]" or "Design -> New Negative Object-> [object type]". For an explanation of how these various objects are defined, refer to the chapter "Object Descriptions". The default characteristics (color, location, orientation, dimensions, etc) of the newly created object will be the same as the existing object most recently selected by clicking on it. This is very important to know, so I will repeat it in magenta: The default characteristics (color, location, orientation, dimensions, etc) of any newly created object will be the same as the existing object most recently selected by clicking on it. After the object is created, these characteristics can then be modified using the methods described later in this chapter.
The only exception to the above rule is in the creation of "object groups". They inherit all the characteristics except dimensions, since all dimensions are specified by you when you create the group. Refer to the "Object Descriptions" chapter for more information about groups.
Another method of creating objects (and deleting them) is by using the clipboard related functions in the Edit Menu. These menu items work as they would in any standard Macintosh application, with one exception: Since other applications cannot manipulate 3D RenderBoy objects, it is not possible to copy/paste them between RenderBoy and other applications. Who knows, maybe someday there will be a QuickDraw-3D interface, but not yet. So for now, please just refer to the "Menu Functions" chapter for an explanation of the Edit Menu. Thanks :-)
The third method of creating objects is by using some of the functions of the "Tools" menu. This menu provides tools to translate, scale, rotate, orient, and mirror the 3D objects displayed in the design views. If you hold down the shift-key while using any of these object manipulation tools, the selected objects will be duplicated and modified rather than simply modified. So, say you are using the translate tool to move an object. If you don't use the shift key, it just moves the object. If you do use the shift key, it immediately creates a duplicate of the object and moves that one instead. Please refer to the "Menu Functions" chapter for a more complete explanation of how to use these tools.
Selecting Objects
Before you can change the characteristics of an object, you first need to select it. This is how you tell RenderBoy which objects you want to modify. Objects can be selected in one of two ways. One method is to choose "Select All" from the edit menu, which will select all objects in the current design, even if they are not currently visible in any view. The second method is to use the selection tool available under the "Tools" menu. The selection tool works pretty much like the selection tool in any other Mac application, but you might want to refer to the "Menu Functions" chapter for a complete explanation of how to use it.
Modifying Object Dimensions
You can directly modify object dimension using the dialog box opened by the menu item "Design -> Dimensions...". This dialog is shown below.
 
The edit text values which are initially in the dialog will be those of the 3D object most recently selected with a click of the mouse.
Since RenderBoy's 3D objects are each fairly simple, each can be defined with three dimensions or less. For example, a block has a length, width, and height, while a sphere just has an inner and outer diameter. For a complete explanation of how the various 3D objects are dimensioned, refer to the chapter "Object Descriptions".
To change object dimensions, first select the object(s) you want to change. Then just key in the new dimension(s) for the object(s), and select "Apply". Or as a shortcut, you can just click the up/down arrows to increase/decrease the adjacent dimension's value. The value will be changed by ten times the "grid snap size" (described later in this chapter) with each click. Hold down the option key while clicking to get a fine adjustment.
Note that each dimension value has a checkbox next to it which indicates whether that dimension should be modified. Unless you change them, these will be automatically checked to represent the dimensions that define the objects which you have selected. If the "scale" checkbox is set, then the checked dimensions will also be scaled by the specified percentage. That's all there is to it.
The "Apply" button (or up/down arrows) will set the dimension of a selected object to the specified (possibly scaled) edit text values only when both of the following conditions are true: (i) the dimension's checkbox is checked, and (ii) the geometry of the object is defined by the checked dimension. Since the appropriate checkboxes are always pre-checked by default, the checkboxes only need to be (un)checked when you wish to change a subset of the dimensions in the current selection. You will find this capability really useful when you want to make controlled global changes to many selected objects at one time.
Another method of modifying the dimensions of objects is with the tools available under the "Tools" menu. This menu provides tools to translate, scale, rotate, orient, and mirror the 3D objects displayed in the design views. For a detailed description of how to use these tools, refer to the "Menu Functions" chapter.
Modifying Object Location
The primary way to change the location of objects is with the tools available under the "Tools" menu. As mentioned earlier, this menu provides tools to translate, scale, rotate, orient, and mirror the 3D objects displayed in the design views. For modifying object geometry, this will probably be the method you use the most. For a detailed description of how to use these tools, refer to the "Menu Functions" chapter.
Another way you can change an object's location is using the following dialog box opened by the menu item "Design -> Location...":
 
To use this dialog, first select the object(s) to be moved. The "Front View", "Side View", and "Top View" radio buttons specify the view in which to define the move in. The edit text values specify the horizontal and vertical offset amount, where positive values represent movement to the right and up, respectively. These values are in the same units as the object dimensions. The "Copy" and "Move" radio buttons are used to specify whether to move the selected objects or to copy (duplicate and move) them. Each time you select the "Apply" button, all selected objects will be offset by the specified amount(s) in the specified view. Note that you will probably only use this dialog when you want precise numeric control of position.
Another method of modifying the location of an object is with the menu item "Design -> Snap To Grid", which will align the center of each selected object to the nearest absolute location which is a whole number multiple of the "grid snap size". For example, if the grid snap size were 50, the objects could be moved to -100, -50, 0, 50, 100, 150, etc. This will happen in the front, side, and top views simultaneously. You can change the snap grid size using the menu item "Design->Preferences->Grid Snap Size...".
The final method of moving objects is with the keyboard arrow keys. When the cursor is in the front, side, or top view of the design window, the arrow keys will move the selected objects in that view. You don't need to click the view, just have the cursor within the view when you press the arrow keys. Each time you press the key, the object will be moved ten times the current snap grid size. Holding down the OPTION key while using the arrows will move the selected objects by one snap grid size. This method is useful when you need to fine-adjust the positions of objects.
Modifying Object Orientation
The primary method of modifying object orientation is with the orientation tool available under the "Tools" menu. For a detailed description of how to use these tools, refer to the "Menu Functions" chapter.
You can also modify object orientation with the following dialog box opened by the menu item "Design -> Orientation...":
 
To use this dialog, select the objects whose orientation should be changed. Modify the desired object orientation angle(s) in the edit text fields, then select "Apply". The orientation angles initially in the dialog will correspond to the object most recently selected with a click of the mouse.
The lower half of the dialog box contains six radio buttons to control the six different orders in which the orientations can be applied. This feature is new in version 2.0. Earlier versions of RenderBoy always applied the orientations in Front-Side-Top order, which is now the default. This new feature is described in more detail in the "Orientation Ordering" section below.
IMPORTANT NOTE: The orientation dialog serves a slightly different purpose than the "orientation tool" which was previously mentioned. The dialog orients each selected object about its own center point, even if those objects are part of a design group. The tool orients all the selected objects about a single point which you specify with the tool. Also, the tool cannot control the order in which orientations are applied. You must use the dialog to view or change the ordering.
Orientation Ordering
As mentioned in the previous section, you now have the ability to control the order in which front, side, and top view orientations are applied. The order you select can have an important impact later on. Explaining that impact is the purpose of this section.
Since the three orientations (front, side, and top) can be applied in six different orders, we will just refer to them as "orientation-1", "orientation-2", and "orientation-3". By referring to them like this, it doesn't matter (for this description) which of the six orders you selected.
In most designs, you will combine individual RenderBoy objects into a "collection" which usually represents a more complex shape or real-world object. Later, you will orient this collection in the finished design (either for a single rendering or an animation sequence). This leads to a very important rule of thumb about orientation ordering:
Apply the orientations required to create a collection before you apply the orientations required to manipulate that collection.
EXAMPLE ONE: You are designing something made up of a collection of objects, and you know you will want to use side or top view orientations to position this collection in your final scene. Then you would basically have two choices:
1) Choose FST and use front-side orientations when creating the collection so that side-top orientations can be used to position the collection.
2) Choose FTS and use front-top orientations when creating the collection so that top-side orientations can be used to position the collection.
EXAMPLE TWO: You are designing something made up of a collection of objects, and you know you will only want to use side view orientation to position this collection in your final scene. Again, you basically have two choices:
1) Choose FTS and use front-top-side orientations when creating the collection so that side orientations can be used to position the collection.
2) Choose TFS and use top-front-side orientations when creating the collection so that side orientations can be used to position the collection.
IMPORTANT NOTE: If you ignore orientation ordering you might be lucky and get it right, since the FST default works much of the time. But eventually, you will innocently apply the orientation tool to a collection, and (instead of what you expect) the objects in the collection will bend apart in wierd directions. This is not a bug. You did one of the two following things.
1) Applied orientation-1 to a collection of objects which were already positioned with orientation-2 or orientation-3.
2) Applied orientation-2 to a collection of objects which were already positioned with orientation-3.
To correct this situation, you need to modify the collection so that the orientations are being applied in the right order. If this is not completely clear, please create a small collection of objects and experiment with the different ordering variations. It is a simple concept, but important to understand.
Modifying Object Clipping
"Clipping" refers to the ability to cut an object into a smaller piece using an imaginary plane going through its center. For example, a sphere can be clipped to form a hemisphere. The only way of modifying object clipping is with the dialog box opened by the menu item "Design -> Clipping...". This dialog is shown below.
 
To use this dialog, select the objects whose clipping should be changed. The clipping settings initially in the dialog will correspond to the object most recently selected with a click of the mouse. Modify the object clipping options as desired, then select "Apply". Each object can be independently clipped in each of the front, side, and top views. In each view's direction, you can either clip nothing, clip the near half of the object, or clip the far half of the object. Note that these references correspond to an object which is oriented at zero degrees in each view. If an object's orientation is changed, the clipping planes (as you would expect) move with it.
Modifying Object Color
The menu item "Design -> Color..." will open the standard Macintosh color selection dialog so you can specify the surface color of the selected objects. The color which is initially in the dialog will be that of the object most recently selected with a single mouse click. Each object can be independently set to any color by using this dialog.
Modifying Object Surfaces
Objects can appear to be dull, shiny, mirrored, etc depending on how light interacts with their surfaces. These characteristics can be modified using the dialog opened by the menu item "Design -> Surfaces...", shown below.
 
To use this dialog, select the objects whose surface properties should be changed. Specify the desired edit text values, then select "OK" to accept the modifications or "Cancel" to abort them. The values which are initially in the dialog will be those of the object most recently selected with a single mouse click.
As a shortcut to entering these percentages manually, you can click any of the seven pictures on the left side of the dialog. This will set the percentages to common preset values suitable for creating standard affects like dull, glossy, or mirrored surfaces.
All objects within RenderBoy interact with light. When light strikes the surface of an object, a certain percentage of it will diffuse (fly off in every direction), which is what allows you to see the surface of the object. A certain percentage of the light will reflect off the surface and continue on, as light does when it bounces off a mirror. The remainder of the light will refract through the object, just as light refracts through glass or crystal.
The edit text values "% Refracted", "% Diffused", and "% Reflected" specify how the light is distributed among these three alternatives. If the percent diffused is close to 100%, then you will mainly see the surface of the object. If the percent reflected is close to 100%, then the object will reflect the objects around it like a mirror. If the percent refracted is close to 100%, then the light will refract through the object as if it were made of glass. RenderBoy lets you specify these three percentages individually for each object any way you want. The only limitations are that each percentage must be between 0% and 100%, and the sum of the three percentages must be 100%.
If you set the surfaces to refract light (that is, the "% Refracted" is greater than zero), then the "Index of Refraction" buttons can be used to specify how much the light should refract, or bend, as it passes though the object. If you specify "Air", then the light will not refract at all but travel straight through the object making it look transparent.
In nature, most real objects exhibit a certain amount of shininess caused by spectral reflections. Spectral reflections can be seen as glinty spots on an object caused by the reflection of light sources. The "% Shininess" edit text value, which must be between 0% and 100%, lets you control object shininess. If the percent shininess is close to 0%, then the object will appear dull like plaster. If the percent shininess is close to 100%, then the object will appear very glinty, like a ceramic. With real physical objects, it is generally the case that objects which are very reflective or refractive are also very shiny. However, since you have complete control over the parameters, you can make the objects behave any way you wish.
Modifying Object Behavior
The menu item "Design -> Behavior" will open the following dialog, which lets you specify the behavior of both light source objects and regular objects. The initial values and settings of the dialog will correspond to the object most recently selected with a single mouse click.
 
The top half of this dialog controls the behavior of light source objects. The "Brightness Intensity %" edit text value, which must be between 0% and 100%, controls the intensity of light source objects. If the value is close to 100%, then the light source will be very strong, and if the value is close to 0%, then the light source will be very weak. The "Can generate shadows on objects" checkbox controls whether a light source generates the illumination necessary to cause shadows. The "Surrounded by a radiant glow" checkbox controls whether light can be seen radiating away from the light source.
As you would expect, strong light sources cast more light on the objects around them. As a result, they create stronger shadows and glinty spots, as well as more illumination. They will also have a more pronounced radiant glow if this feature is checked. These settings let you achieve a variety of cool lighting effects on the objects in your design.
The bottom half of this dialog controls the behavior of regular objects (non-lights). The "Cast shadows on other objects" checkbox controls whether an objects can cast a shadow upon other objects around it. This is useful for objects which might not generate a shadow, such as glass in a window. Also, turning off un-seen shadows can speed up the rendering time. The "Appear bright like a light" checkbox can make a regular object's surface appear bright like a light, as if it is a source of illumination. Note that this only affects the appearance of the object, it cannot generate any shadows or glinty spots on the objects around it.
Modifying Object Texture
The menu item "Design -> Textures" will open the following dialog, which lets you specify which textures are applied to the selected objects and how. The initial values and settings of the dialog will correspond to the object most recently selected with a single mouse click.
 
This dialog actually performs two separate functions. The left side is used to maintain a list of textures to choose from. The right side lets you define how to apply the textures in the list to the currently selected object(s).
You can use any standard "PICT" file as a texture. The "Open..." button will display the standard file selection dialog so you can select a PICT file to add to the texture list. The "Close" button will close the currently displayed texture in the list. The "<--Prev" and "Next-->" buttons traverse the list of textures, so that you can select the one you want to apply. This list is always maintained in alphabetical order. Below the texture display, there is information about the texture: the size (in pixels) of the displayed texture, the current location in the texture list, the name of the texture, and the amount of free memory. If the "Texture" radio button is checked, then the currently displayed texture will be applied to the selected object(s). If the "No Texture" radio button is checked, then none of the textures in the list will be applied to the currently selected objects, nor will they be displayed in the dialog.
When a texture is applied to an object, it is actually projected onto the object from a specific direction. You can imagine that the texture is being displayed on the object with a movie projector. The "TEXTURE PLACEMENT" part of the dialog contains four edit text values which control the size and location of the applied texture. All of these values are in the same units as the object dimensions. If the horizontal and vertical offsets are zero, then the center of the displayed texture will be aligned with the center of the object. If you wish to specify horizontal and vertical offsets, positive values represent texture offsets to the right and up, respectively.
The "TEXTURE PROJECTION" portion of the dialog controls the direction from which the texture is projected onto the object. To project the texture along the front view, side view, top view, or eye view, just check the "Front", "Side", "Top", or "Eye" radio buttons, respectively. If you want to specify some other direction, check "Other". You will then be allowed to enter two angles, which specify the projection direction. These two angles define the direction in the same way they define the direction of the eye view or the directed background light. Refer to the chapter "Image Preparation" for a description of how this works. The "Follow Object Orientation" checkbox (new in version 2.0) lets you specify whether the texture projection should automatically follow the object as it is oriented. If this box is not checked (the old default), then the projection direction follows the specified projection regardless of the object orientation.
With the texture correctly positioned and oriented, there are still a couple more things you can change. If you set the "Repeat Texture As A Pattern" checkbox, then the texture will be duplicated to cover the entire object. This can be used to create a pattern effect, like tiles on a floor. The "Flip Horizontal" checkbox will make the texture flip horizontally when projected, as if you were looking at it in a mirror. The "Flip Vertical" checkbox will make the image flip vertically, so that it will be projected upside down. The "Tint Texture With Object Color" checkbox will tint the texture with the color of the object it is projected onto. Otherwise, it will appear exactly as shown, regardless of the object's color. When tinted, black portions of the texture will still appear black, but white portions of the texture will be the color of the object (instead of white). Other colors within the texture will be tinted accordingly.
Note that when you modify the texture list, these changes take place immediately. Although the "Cancel" button will let you abort changes made to how a texture is applied to the selected object(s), it will not let you cancel modifications made to the texture list.
Object Manipulation Exercises
Launch RenderBoy and let it create a new untitled design document. Create a few new objects by selecting one of the items under "New Positive Object" from the "Design" menu. Practice using the translate, scale, rotate, orient, horizontal mirror, and vertical miror tools available under the tools menu. You should reference the "Menu Functions" chapter for an explanation of how to use these tools.
Once you feel comfortable using the tools to manipulate objects, try using the dialog boxes under the "Design" menu to manipulate the currently selected objects. Specifically, try manipulating the selected object dimensions, orientation, clipping, and color. You may also experiment with the object surface, behavior, and texture dialogs, but these modifications will not be obvious until an image is rendered, and that's a couple chapters away yet.
Once you feel comfortable with the techniques described in this chapter, you may want to try creating a simple design. For example, you might want to try creating some of the letters of the alphabet. Or if you have some other idea which interests you, go for it. Your time won't be wasted since you can use any designs you create now in the next three chapters, as you learn how to create photo-realistic rendered images.